#include <cstdlib>
#include <iostream>


#define MX 100

typedef int tipoElemento;

typedef struct {
    tipoElemento    itemLista[ MX ];
    int             tamanhoLista;
} listaElemento;

int inserirElemento(listaElemento *L, int pos, tipoElemento dado) 
{
    int i;
    if ( ((*L).tamanhoLista  == MX) || (pos > (*L).tamanhoLista + 1) )
        return 0;
    
    for ( i = (*L).tamanhoLista; i >= pos; i-- )
        (*L).itemLista[i] = (*L).itemLista[i - 1];
    
    (*L).itemLista[pos - 1] = dado;
    (*L).tamanhoLista++;
    
    return 1;
}

int removerElemento(listaElemento *L, int pos, tipoElemento *dado)
{
    int i;
    
    if ( (pos > (*L).tamanhoLista) || (pos <= 0) )
        return 0;
    
    *dado = (*L).itemLista[pos - 1];
    
    for ( i = pos; i <= (*L).tamanhoLista - 1; i++ )
        (*L).itemLista[i - 1] = (*L).itemLista[i];
    
    (*L).tamanhoLista--;
    return 1;
}